package com.caigou.modules.channel.network.api

import com.caigou.comm.base.bean.HttpResult
import com.caigou.modules.channel.bean.*
import kotlinx.coroutines.flow.Flow
import retrofit2.http.GET
import retrofit2.http.Query

/**
 * @author #Suyghur.
 * Created on 2021/09/18
 */
interface HttpChannelApiService {

    @GET("/api/user/my/team")
    fun getTeamList(@Query("page") page: Int, @Query("limit") limit: Int, @Query("userId") userId: String): Flow<HttpResult<TeamBean>>

    @GET("/api/medal/list")
    fun getMedalList(@Query("userId") userId: String): Flow<HttpResult<MedalBean>>

    @GET("/api/black/room/banned/list")
    fun getBlackHouseInfo(@Query("userId") userId: String): Flow<HttpResult<BannedBean>>

    @GET("/api/friend/my/friends")
    fun getFriendList(@Query("page") page: Int, @Query("limit") limit: Int, @Query("userId") userId: String): Flow<HttpResult<FriendBean>>

    @GET("/api/follow/my/follow")
    fun getFollowList(@Query("page") page: Int, @Query("limit") limit: Int, @Query("userId") userId: String): Flow<HttpResult<FollowBean>>

    @GET("/api/contact/black/list")
    fun getBlackList(@Query("page") page: Int, @Query("limit") limit: Int, @Query("userId") userId: String): Flow<HttpResult<BlackBean>>

    @GET("/api/medal/draw/medal")
    fun receiveMedal(@Query("medalId") medalId: String, @Query("userId") userId: String): Flow<HttpResult<String>>

    @GET("api/medal/wear/medal")
    fun wearMedal(@Query("medalId") medalId: String, @Query("userId") userId: String): Flow<HttpResult<String>>

    @GET("/api/medal/take/off/medal")
    fun takeOffMedal(@Query("medalId") medalId: String, @Query("userId") userId: String): Flow<HttpResult<String>>

}
